<?php

declare(strict_types=1);

namespace app\common;

use think\File;
use think\image\Exception as ImageException;
use think\Image;
use app\common\AliyunOss\Image as AliyunOssImage;

class FileHandle
{

    protected $aliyun_oss;
    protected $image;
    protected $oss_domain_name;

    public function __construct()
    {
        $this->aliyun_oss = new AliyunOssImage();
        $this->oss_domain_name = config('filesystem.aliyun-oss.bucket') . '.' . config('filesystem.aliyun-oss.endpoint');
        $this->image = [
            'limit' => [
                'type_limit' => explode(',', config('filesystem.file.image.type_limit')),
                'max_size_limit' => config('filesystem.file.image.max_size_limit')
            ],
            'temp_path' => root_path() . 'public/static/uploads/temp/'
        ];
    }


    // public function base64ToImage(string $base64Image, string $url = '', string $name = ''): array
    // {

    //     $return = [
    //         'url' => '',
    //         'result' => false,
    //         'message' => ''
    //     ];
    //     if (empty($base64Image)) {
    //         $return['message'] = '没有接收到图片数据';
    //         return $return;
    //     }
    //     $fileSize = strlen($base64Image);
    //     if ($fileSize > (int)$this->image['limit']['max_size_limit']) {
    //         $return['message'] = '文件大小超过限制';
    //         return $return;
    //     }
    //     try {
    //         // 解析 Base64 编码的图片数据
    //         if (preg_match('/^data:image\/(\w+);base64,/', $base64Image, $type)) {
    //             $data = substr($base64Image, strpos($base64Image, ',') + 1);
    //             $type = strtolower($type[1]); // jpg, png, gif 等
    //             if (!in_array($type, $this->image['limit']['type_limit'])) {
    //                 $return['message'] = '不支持的图片格式';
    //                 return $return;
    //             }
    //             $data = base64_decode($data);
    //             if ($data === false) {
    //                 $return['message'] = 'Base64 解码失败';
    //                 return $return;
    //             }
    //         } else {
    //             $return['message'] = '不正确的 Base64 图片数据';
    //             return $return;
    //         }

    //         // 保存图片到文件
    //         if (empty($url)) $url = $this->image['temp_path'];
    //         if (!is_dir($url)) {
    //             mkdir($url, 0755, true);
    //         }
    //         if (empty($name)) $name = $this->createFileName($type);

    //         $tempFile = $url . $name;

    //         file_put_contents($tempFile, $data);
    //         $return['url'] = $tempFile;
    //         $return['result'] = true;
    //         $return['message'] = 'Successful operation';
    //         return $return;
    //     } catch (\Exception $e) {
    //         $return['message'] = $e->getMessage();
    //         return $return;
    //     }
    // }
}
